1. Field of the Invention
This invention relates generally to computer animations and specifically to formats for representing computer animations.
2. Description of the State of the Art
Two types of formats are predominantly used to represent computer animations: frame-based animation formats and interpolator-based animation formats. These types of animation formats differ fundamentally in how they represent computer animations, thus computer software that displays frame-based animations is typically unable to display interpolator-based animations.
In frame-based animation formats, an animation is comprised of a group of animation objects and a series of frames. Each frame comprises animation objects which are displayed at a particular time in the animation, and properties which specify how the objects are displayed. Computer software that displays a frame-based animation displays the frames in the animation sequentially. When animation objects are included in successive frames with different properties, the objects appear to be moving or otherwise changing when the computer software displays the frames of the animation.
In interpolator-based animation formats, an animation is comprised of a group of animation objects and a group of interpolators. Each interpolator specifies how a property of an animation object changes over time. For example, an interpolator may specify that a rectangle appears at the bottom-left corner of a computer display, travels to the top-right corner of the computer display, and takes five seconds to do so. Computer software that displays an interpolator-based animation displays the animation objects and manipulates the properties of the animation objects over time as specified by the interpolators, thus creating the appearance that the animation objects are moving or otherwise changing.
An interpolator-based animation often consumes less storage space than a frame-based animation which appears the same when displayed, since a single interpolator can specify a movement that would require many frames to specify. Minimizing storage space is especially beneficial when animations are displayed on mobile communication devices, since they often have limited amounts of computer memory and processing capacity. Mobile communication devices also typically have limited bandwidth with which to communicate via wireless networks.
When displaying interpolator-based animation, the rendering device is generally at liberty to vary the rate at which the display is updated. In frame based animation, the frame rate is typically set at a constant rate. The rate flexibility available in interpolator-based animation allows a rendering device to reduce the display rate, which can be useful in the resource and power limited environment of a mobile device.
Thus, an efficient system and method for converting frame-based animations to interpolator-based animations is desired.